From d7d24473958dcf740d2366cbc574cf671e390dcc Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 13 Sep 2011 10:22:03 +0100 Subject: [PATCH] hvmloader: don't clear acpi_info after filling in some fields In particular the madt_lapic0_addr and madt_csum_addr fields are filled in while building the tables. This fixes a bluescreen on shutdown with certain versions of Windows. Signed-off-by: Ian Campbell Reported-by: Christoph Egger Tested-and-acked-by: Christoph Egger --- tools/firmware/hvmloader/acpi/build.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/firmware/hvmloader/acpi/build.c b/tools/firmware/hvmloader/acpi/build.c index 5e3198420b..e6c2556633 100644 --- a/tools/firmware/hvmloader/acpi/build.c +++ b/tools/firmware/hvmloader/acpi/build.c @@ -277,6 +277,8 @@ void acpi_build_tables(unsigned int physical) unsigned long secondary_tables[16]; int nr_secondaries, i; + memset(acpi_info, 0, sizeof(*acpi_info)); + /* * Fill in high-memory data structures, starting at @buf. */ @@ -375,7 +377,6 @@ void acpi_build_tables(unsigned int physical) offsetof(struct acpi_20_rsdp, extended_checksum), sizeof(struct acpi_20_rsdp)); - memset(acpi_info, 0, sizeof(*acpi_info)); acpi_info->com1_present = uart_exists(0x3f8); acpi_info->com2_present = uart_exists(0x2f8); acpi_info->lpt1_present = lpt_exists(0x378); -- 2.30.2